package com.lyrcsoft.application;

import com.lyrcsoft.listener.MyApplicationEvent;
import java.util.Date;
import java.util.Set;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationEvent;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.util.CollectionUtils;

/**
 * 功能描述
 *
 * @author fujc-dev@qq.com
 * @date: 2023年11月23日 10:09
 */

public class MyAnnotationConfigApplicationContext  extends AnnotationConfigApplicationContext {

	@Override
	protected void onRefresh() throws BeansException {
		// 属于自定义的时候，我们自己提前搞一个事件发布。
		// 那么在 registerListeners的时候，这段代码就会有执行
		// Set<ApplicationEvent> earlyEventsToProcess = this.earlyApplicationEvents;
		// this.earlyApplicationEvents = null;
		// if (!CollectionUtils.isEmpty(earlyEventsToProcess)) {
		// 	for (ApplicationEvent earlyEvent : earlyEventsToProcess) {
		// 		getApplicationEventMulticaster().multicastEvent(earlyEvent);
		// 	}
		// }
		this.publishEvent(new MyApplicationEvent(new Date()));
	}
}
